// node --experimental-transform-types  01.ts
let c = 100
enum EnumX {
    A = 1,
    B = 2,
    // C = c
}

let x: EnumX = EnumX.A

// T 是 枚举 EnumX 的别名
type T = EnumX
console.log(EnumX)

let b = 100
const enum EnumY {
    // B = b // 如果加了const，常量枚举, 那么b变量也必须是常量
}

type T1 = keyof typeof EnumX; // 取枚举的所有key，类似 Object.keys(EnumX)
type T2 = `${EnumX}` // 取枚举所有的value，一定是常量值才能取到

type T3 = Exclude<EnumX, EnumX.B>  // 排除EnumX.B类型